#!/bin/bash
#
# Copyright 2020 eBlocker Open Source UG (haftungsbeschraenkt)
#
# Licensed under the EUPL, Version 1.2 or - as soon they will be
# approved by the European Commission - subsequent versions of the EUPL
# (the "License"); You may not use this work except in compliance with
# the License. You may obtain a copy of the License at:
#
#   https://joinup.ec.europa.eu/page/eupl-text-11-12
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
#

RGB_LED_CONTROLLER=/opt/eblocker-network/bin/rgb_led_controller

if [ $# -ne 1 ]; then
    echo "usage: $0 <status>" >&2
    exit 1
fi

STATUS=$1

# The first signal after the boot seems to confuse the controller
# embedded in the LED, because it always turns the LED red.
#
# Workaround: switch to black temporarily
$RGB_LED_CONTROLLER 0 0 0

# Set color according to status
case "${STATUS}" in
    UP)
        # Dim orange:
        $RGB_LED_CONTROLLER 80 23 3
        ;;
    SELF_CHECK_OK)
        # Green:
        $RGB_LED_CONTROLLER 0 255 0
        ;;
    SELF_CHECK_NOT_OK)
        # Red:
        $RGB_LED_CONTROLLER 255 0 0
        ;;
    *)
        echo "$0: unknown status: $STATUS" >&2
        exit 1
esac
